home *** CD-ROM | disk | FTP | other *** search
/ Exame Informatica 139 / Exame Informatica 139.iso / Revista / Flash / Blog Final / blog.php < prev    next >
Encoding:
PHP Script  |  2006-11-19  |  2.1 KB  |  52 lines

  1. <?php
  2. // dados de acesso ao servidor MySQL
  3. $hostname = "localhost";
  4. $database = "blog";
  5. $username = "root";
  6. $password = "root";
  7. // conexao ao servidor MySQL
  8. $blog = mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR); 
  9. // seleccionar a BD a utilizar
  10. mysql_select_db($database, $blog) or die("nao encontrou a BD");
  11. // query (comando SQL)
  12. $query = "SELECT * FROM `posts` ORDER BY `ano` ASC, `mes` ASC, `dia` ASC";
  13. // processamento da query
  14. $posts = mysql_query($query, $blog) or die(mysql_error());
  15. // atribuir os valores de resposta a uma Array Associativa
  16. $row_posts = mysql_fetch_assoc($posts);
  17.  
  18. // Estrutura XML gerada pelo PHP
  19. echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
  20. echo "<blog>";
  21.  
  22. // ciclo DO WHILE
  23. do{
  24.     // $row_posts['ano'] --> Valor da Array Associativa correspondente ao campo ANO da tabela respectiva
  25.     echo "<ano ano=\"".$row_posts['ano']."\">";
  26.     echo "    <mes mes=\"".$row_posts['mes']."\">";
  27.     echo "        <dia id=\"".$row_posts['id']."\" dia=\"".$row_posts['dia']."\" titulo=\"".$row_posts['titulo']."\" texto=\"".$row_posts['texto']."\">";
  28.     
  29.     // query para os comentarios
  30.     $query = "SELECT * FROM `comentarios` WHERE `idPosts`=".$row_posts['id']." ORDER BY `ano` ASC, `mes` ASC, `dia` ASC";
  31.     $comentarios = mysql_query($query, $blog) or die(mysql_error());
  32.     $row_comentarios = mysql_fetch_assoc($comentarios);
  33.     // se existirem comentarios para o Post respectivo
  34.     if($row_comentarios['id'] != ""){
  35.         // ciclo DO WHILE para utilizar todos os comentarios que existam
  36.         do{
  37.             echo "<comentario ano=\"".$row_comentarios['ano']."\" mes=\"".$row_comentarios['mes']."\" dia=\"".$row_comentarios['dia']."\" nome=\"".$row_comentarios['nome']."\" texto=\"".$row_comentarios['texto']."\"/>";
  38.         }while($row_comentarios = mysql_fetch_assoc($comentarios));
  39.     }
  40.     // libertar a memoria do servidor
  41.     mysql_free_result($comentarios);
  42.     echo "        </dia>";
  43.     echo "    </mes>";
  44.     echo "</ano>";
  45. // enquanto existirem valores na Array Associativa, o ciclo corre
  46. }while($row_posts = mysql_fetch_assoc($posts));
  47.  
  48. echo "</blog>";
  49. mysql_free_result($posts);
  50. // terminar a liga├ºao ao servidor MySQL
  51. mysql_close($blog);
  52. ?>